بستن خودکار برنامه غیرفعال اکسس به همراه تنظیمات مربوطه
امروز می خواهیم در خصوص بستن خودکار برنامه غیرفعال اکسس و نحوه انجام این کار به اراده مطلبی بپردازیم
مدتی قبل و در طی یک مطلب آموزشی موردی را بررسی کردیم که با استفاده از آن می توانستیم یک فرم موجود در نرم افزار اکسس را بعد از مدت زمان معینی به طور خودکار بسته و آن را غیر فعال نماییم .
مطلبی که در اینجا به آن اشاره شد را می توانید با استفاده از لینک زیر مطالعه نمایید.
مطلب مرتبط : بستن فرم غیر فعال در اکسس
اما آموزشی که امروز به آن خواهیم پرداخت آموزشی است که با استفاده از کدهای زمان برنامه نویسی VBA این قابلیت را به نرم افزار اکسس خود اضافه می کنیم که با استفاده از آن می توانیم نه یک فرم بلکه به بستن خودکار برنامه غیرفعال اکسس بپردازیم.
اگر آموزش قبلی در خصوص بستن فرم را مطالعه نموده باشید حتماً میدانید که در آموزش مربوطه ملاک ما برای بستن یک فرم بازه زمانی بود که برای آن درنظر میگرفتیم.
اما در این آموزش ملاک مورد نظر ما برای بستن برنامه صرفاً یک بازه زمانی صرف نیست.
بلکه در این آموزش به دنبال این هستیم که با بکار بردن کد های برنامه نویسیVBA امکانی را فراهم آوریم که در صورتیکه برنامه مورد نظر ما در یک بازه زمانی مشخص از سوی کاربر بلا استفاده ماند به طور خودکار بسته شود.
تصور نمایید در حال کار کردن بر روی اطلاعات موجود خود در نرم افزار اکسس هستید .
حال اگر بنا به هر دلیل مجبور شوید که میز کار خود را ترک نمایید و در ضمن فراموش کنید که برنامه اکسس خود را ببندید .
و نگران این باشید که کسی در غیاب شما به این اطلاعات دست یابد و یا اینکه به صورت ناخواسته با قرار گرفتن در پشت میز کار شما در اطلاعات شما تغییراتی را ایجاد نماید که مطلوب و مورد نظر شما نیست.
برای مقابله با چنین وضعیتی چه راهکاری به نظر شما می رسد؟
شاید برای مقابله با این موقعیت راهکارهای متعددی وجود داشته باشد.
راه حل پیشنهادی ما :بستن خودکار برنامه غیرفعال اکسس است
اما ما امروز و در طی این مطلب آموزشی به شما خواهیم آموخت که چگونه به نرم افزار اکسس خود قابلیت ارایه اضافه نمایید که درصورت غیر فعال ماندن برنامه در یک بازه زمانی مشخص که مورد نظر شما میباشد برنامه اکسس شما به صورت خودکار بسته شده و از دسترس سایر کاربران خارج گردد.
همانگونه که می دانید نرم افزار اکسس به خودی خود فاقد چنین قابلیتی می باشد
اما ما امروز با استفاده از کد های VBA این قابلیت را به محیط کاری که اکسس اضافه خواهیم کرد.
تا انتهای این آموزش همراه ما باشید.
قدم اول: ایجاد یک بانک اطلاعاتی در محیط کاری اکسس
از آنجا که آموزش ما قرار نیست فقط بر روی یک فایل خاص قابلیت اجرا داشته باشد بنابراین ایجاد بانک اطلاعاتی در مورد نرم افزار اکسس را به عهده خود شما می گذاریم تا بنا به نیاز و خواسته خود بانک اطلاعاتی مورد نظر خود را در این نرم افزار ایجاد نموده و از اشیای مورد نیاز خود اعم از فرم ها و گزارش ها و دیگر قسمتهای مورد نظر خود در این بانک اطلاعاتی می توانید به صورت آزادانه استفاده نمایید.
قدم دوم: ایجاد فرم مرکز کنترل
در قدم دوم ما میخواهیم جدای از فرم هایی که در محیط اکسس وجود دارد و بنا به نیاز خود آنها را ایجاد نموده ایم فرمی را طراحی و با به محیط کاری اکسس خود اضافه کنیم.
برای طراحی فرم موسوم به مرکز کنترل مراحل زیر را دنبال نمایید
- با استفاده از سربرگ create و انتخاب گزینه design Form یک فرم خالی را به محیط کاری اکسس خود اضافه کنید.
- با استفاده از کادر Property Sheet فرم مورد نظر خود را به نام ” مرکز کنترل ” نام گذاری نمایید.
- در محیط کاری این فرم دو تکست باکس به قرار زیر ایجاد نمایید.
مطلب مرتبط: آشنایی با ۱۰ اصطلاح پرکاربرد در نرم افزار اکسس
تکس باکس اول خود را به صورت txt_name نام گذاری کنید
برای تکس باکس دوم خود نام txttime را انتخاب کنید
برای برچسب هر دو تکست باکس میتوانید بنا به سلیقه خود عنوانی را اختصاص دهید .
قدم سوم : تنظیمات مربوط به تایمر فرم .
در این مرحله می خواهیم تنظیماتی مربوط به رویداد Timer فرم خود را اعمال نماییم.
به این منظور ابتدا کادر Property sheet را باز نموده همزمان که کنترل می نماییم در کمبوی مربوط به Selection Type شی Form انتخاب شده است در مقابل کادر مربوط به خاصیت Interval Timer عدد ۱۰۰۰ را درج میکنیم.
در گام بعد به سراغ رویداد مربوط به On Timer فرم خود رفته و کدهای زیر را در آن وارد می کنیم .
قدم چهارم : درج کدهای VBA
در این مرحله باید کدهای زیر را در رویداد مربوط به On Timer فرم خود وارد نمایید .
()Private Sub Form_Timer
Static oldform As String
Static oldcontrol As String
Static noactivetime
Dim actform As String
Dim actcontrol As String
Dim exittime
On Error Resume Next
actform = Screen.ActiveForm.Name
Me.txtname = actform
actcontrol = Screen.ActiveControl.Name
(“”=If (oldform = “”) Or (oldcontrol
Or (actform <> oldform) Or (actcontrol <> oldcontrol) Then
oldcontrol = actcontrol
oldform = actform
noactivetime = 0
Else
noactivetime = noactivetime + Me.TimerInterval
End If
(exittime = (noactivetime / 1000
Me.txttime = exittime
If exittime >= 300 Then
“پیغام امنیتی سیستم”, vbCritical, “برنامه برای بیش از ۵ دقیقه غیر فعال بوده است لطفا مجددا وارد شوید”Msgbox
Application.Quit acQuitSaveAll
End If
End Sub
تفسیر کدها
تفسیر کلی کد فوق و اینکه چه کاری برای ما انجام می دهد به شرح زیر است :
- اولین کاری که این کدها برای ما انجام خواهد داد این است که مشخصات هر فرم و یا تکس باکسی را در داخل اکسس کلیک نماییم را برای ما در تکس باکس مربوط به txtname درج می نماید .
و از آنجا که در اکسس در آن واحد نمی تواند بیش از یک شی خاصیت فوکوس را در اختیار داشته باشد بنابراین همواره در این تکس باکس نام آخرین شی که بر روی آن کلیک شده و فوکوس را در اختیار گرفته است درج می شود .
۲٫ دومین کار صورت گرفته توسط این کدها این است که به محض اینکه یک شی فوکوس را در اختیار گرفت زمان را محاسبه می نماید و مدت زمان محاسبه شده را برای ما در تکس باکس مربوط به txttime نمایش می دهد .
۳ . سومین کاری که این کدها انجام می دهند نیز این است که به محض اینکه ما از روی یک شی به شی دیگر کلیک می نماییم و در واقع فوکوس را به شی جدید می دهیم زمان محاسبه شده را برای شی جدید دوباره از ابتدا محاسبه می کند .
۴٫ اما اصل قضیه در این است که اگر ما یک شی را در داخل نرم افزار خود انتخاب نماییم بعنوان مثال یک فرم که خودمان طراحی کرده ایم را بمنظور وارد کردن اطلاعات مورد نظر خود باز کنیم و در آن اطلاعات خود را وارد کنیم تا مادامی که ما در حال کار با این فرم هستیم قادر به کار با برنامه اکسس هستیم اما اگر فرم خود را فعال کرده ولی برای مدت ۵ دقیقه که در این مثال برای آن مشخص کردیم هیچ کاری بر روی هیچ یک از اجزای برنامه خود انجام ندهیم برنامه بطور خودکار بعد از پنج دقیقه یک پیغام نمایش داده و از ادامه کار ما با برنامه ممانعت بعمل می آورد .
در اینجا تنها گزینه پیش رو برای ما این است که از با زدن دکمه OK مربوط به کادر پیغام نمایش داده شده به بیرون از برنامه هدایت شویم و مجددا وارد برنامه خود شویم .
قدم پنجم : اتوران کردن فرم کنترل
برای تکمیل فرآیند کاری خود باید کاری کنیم که فرمی که به نام “مرکز کنترل ” ایجاد نمودیم را بصورت اتوران در آوریم .
بدین ترتیب به محض اینکه برنامه اکسس ما شروع به کار می نماید فرم مربوطه نیز بطور خودکار وارد عمل شده و کنترل های مربوطه را انجام می دهد .
برای این مورد باید به قرار زیر عمل نمایید .
- از طریق سربرگ Create و با انتخاب گزینه Macro به محیط ایجاد ماکرو بروید .
۲٫ در این محیط یک ماکرو تحت عنوان Open Form را ایجاد نموده و نام فرم “مرکز کنترل ” را به آن معرفی نمایید .
اکنون باید ماکروی خود را ذخیره نمایید .
اما حتما به این نکته توجه کنید که باید ماکروی خود را با نام “AutoExcec” ذخیره کنید.
اکنون کار به پایان رسیده و فایل شما آماده است .
دیدگاهتان را بنویسید